home *** CD-ROM | disk | FTP | other *** search
/ Linux Cubed Series 2: Applications / Linux Cubed Series 2 - Applications.iso / editors / emacs / emacs-19.000 / emacs-19 / usr / local / info / gnus-2 < prev    next >
Encoding:
GNU Info File  |  1995-09-11  |  43.7 KB  |  1,062 lines

  1. This is Info file ../info/gnus, produced by Makeinfo-1.55 from the
  2. input file gnus.texi.
  3.  
  4.    This file documents GNUS, the GNU Emacs newsreader.
  5.  
  6.    Copyright (C) 1989, 1990, 1993 Free Software Foundation, Inc.
  7.  
  8.    Permission is granted to make and distribute verbatim copies of this
  9. manual provided the copyright notice and this permission notice are
  10. preserved on all copies.
  11.  
  12.    Permission is granted to copy and distribute modified versions of
  13. this manual under the conditions for verbatim copying, provided also
  14. that the entire resulting derived work is distributed under the terms
  15. of a permission notice identical to this one.
  16.  
  17.    Permission is granted to copy and distribute translations of this
  18. manual into another language, under the above conditions for modified
  19. versions.
  20.  
  21. 
  22. File: gnus,  Node: Names of Kill Files,  Next: Background Kills,  Prev: Kill File Example,  Up: Kill File
  23.  
  24. Names of Kill Files
  25. ===================
  26.  
  27.    Kill files are kept in the directory specified by the variable
  28. `gnus-kill-files-directory'; its default value is `~/News'.  The
  29. variable `gnus-kill-file-name' specifies the global kill file's name
  30. within that directory; the default is `KILL'.
  31.  
  32.    The name of a local kill file is based on the newsgroup's name.  If
  33. the variable `gnus-use-long-file-name' is non-`nil', then the file name
  34. is `NEWSGROUP.KILL'.  Otherwise, it is `NEWS/GROUP/KILL', where the
  35. subdirectory name is made from the newsgroup name by changing all
  36. periods to slashes.
  37.  
  38. 
  39. File: gnus,  Node: Background Kills,  Next: Advanced Kills,  Prev: Names of Kill Files,  Up: Kill File
  40.  
  41. Background Kill Processing
  42. ==========================
  43.  
  44.    Kill processing can take a long time.  If you don't want to wait for
  45. it, try background kill processing using the following shell command:
  46.  
  47.      emacs -batch -l gnus -f gnus-batch-kill NEWSGROUPS...
  48.  
  49. where NEWSGROUPS are newsgroup names separated by whitespace.  `!'
  50. preceding a newsgroup name means negation, and `all' specifies all
  51. newsgroups not yet decided.  These interpretations are the same as the
  52. options line of the startup file (*note Startup File::.).
  53.  
  54. 
  55. File: gnus,  Node: Advanced Kills,  Prev: Background Kills,  Up: Kill File
  56.  
  57. Advanced Kill Processing
  58. ========================
  59.  
  60.    Internally, applying kills means to run the hook
  61. `gnus-apply-kill-hook'.  It is called after the Summary buffer is
  62. prepared for a selected newsgroup.  The default hook is the function
  63. `gnus-apply-kill-file' which loads a global kill file and a local kill
  64. file in this order.  A different style of the kill processing can be
  65. implemented by customizing this hook.
  66.  
  67.    For example, if you don't have a global kill file, you can use the
  68. following hook which applies only a local kill file.  This change can
  69. save the time for checking the existence of a global kill file.
  70.  
  71.      ;; Get rid of the default hook.
  72.      (setq gnus-apply-kill-hook nil)
  73.      (add-hook 'gnus-apply-kill-hook
  74.        '(lambda ()
  75.           ;; Apply a local kill file.
  76.           (load (gnus-newsgroup-kill-file gnus-newsgroup-name) t nil t)))
  77.  
  78. (As usual, you can put as many functions as you wish into this hook.
  79. What is not usual is the fact that the hook is not initially empty.
  80. Therefore, if you don't want the default hook value, you must set the
  81. hook variable to `nil'.)
  82.  
  83.    In contrast, the following example enables only a global kill file.
  84.  
  85.      ;; Get rid of the default hook.
  86.      (setq gnus-apply-kill-hook nil)
  87.      (add-hook 'gnus-apply-kill-hook
  88.        '(lambda ()
  89.           ;; Apply a global kill file.
  90.           (load (gnus-newsgroup-kill-file nil) t nil t)))
  91.  
  92.    Here is an advanced example that drastically reduces the time for
  93. applying kill files.  This hook does the kill processing directly
  94. without loading the kill files.
  95.  
  96.      ;; Get rid of the default hook.
  97.      (setq gnus-apply-kill-hook nil)
  98.      (add-hook 'gnus-apply-kill-hook
  99.        '(lambda ()
  100.           ;; Apply to the newsgroup `control'
  101.           ;; if the NNTP server is flab.
  102.           (and (string-equal gnus-nntp-server "flab")
  103.                (string-equal gnus-newsgroup-name "control")
  104.                (progn
  105.                  (gnus-kill "Subject" "ihave flab\\|sendme")
  106.                  (gnus-kill "Subject" "cancel\\|newgroup\\|rmgroup" "d")
  107.                  (gnus-expunge "X")))))
  108.  
  109. 
  110. File: gnus,  Node: Customization,  Next: Reporting Bugs,  Prev: Troubleshooting,  Up: Top
  111.  
  112. Customizing GNUS
  113. ****************
  114.  
  115.    Appendix A describes the variables and hooks for simple customization
  116. and the variables for localization.
  117.  
  118. * Menu:
  119.  
  120. * Variables::           Variables for customizing GNUS.
  121.  
  122. * NNTP Variables::      Variables for localizing NNTP environment.
  123. * Spool Variables::     Variables for localizing news spool environment.
  124. * Directory Variables:: Variables for localizing private directory environment.
  125.  
  126. * Hooks::               Function hooks for customizing GNUS.
  127.  
  128. 
  129. File: gnus,  Node: Variables,  Next: NNTP Variables,  Up: Customization
  130.  
  131. Common Variables
  132. ================
  133.  
  134. `gnus-nntp-server'
  135.      Specifies the name of the host running the NNTP server.  The
  136.      variable is initialized from the `NNTPSERVER' environment
  137.      variable.  If the server name is preceded by a colon such as
  138.      `:Mail', the user's private directory `~/Mail' is used as a news
  139.      spool.  *Note Finding the News::, for more information.
  140.  
  141. `gnus-nntp-service'
  142.      Specifies a service name of NNTP, usually a string `"nntp"'.  In a
  143.      few instances, it must be the number `119'.  To use a local news
  144.      spool of your machine rather than NNTP, set the variable to `nil'.
  145.      *Note Finding the News::, for more information.
  146.  
  147. `gnus-local-domain'
  148.      Specifies the domain which is the domain part of your mail address
  149.      excluding the local host name of your machine.  The environment
  150.      variable `DOMAINNAME' is used instead if defined.  If the function
  151.      `system-name' returns the full Internet name, there is no need to
  152.      define the domain.
  153.  
  154. `gnus-local-organization'
  155.      Specifies the organization you belong to.  The environment variable
  156.      `ORGANIZATION' is used instead if defined.  If the value begins
  157.      with a slash, it is taken as the name of a file whose contents are
  158.      read for the value.
  159.  
  160. `gnus-local-timezone'
  161.      Specifies the local time zone you belong to.  The value can be
  162.      either a time zone name such as `"JST"' or a difference in hour
  163.      from GMT such as `+0900'.  If the variable is non-`nil', a general
  164.      time zone handling package `timezone.el' is used to generate a
  165.      valid date for `Date:' field in terms of RFC822.  Otherwise, if it
  166.      is nil, GNUS generate a date ignoring the local time zone.  If you
  167.      are using Bnews, it is okay since `inews' will rewrite the invalid
  168.      date.  However, if you are using Cnews or INN, you must set the
  169.      variable to the correct time zone or remove `Date' from the
  170.      variable `gnus-required-headers' since their `inews' do not
  171.      rewrite the wrong `Date:' field.
  172.  
  173.      If you want to display the time of articles in your local time
  174.      zone, call the function `gnus-gmt-to-local' from the hook
  175.      `gnus-article-prepare-hook'.
  176.  
  177. `gnus-local-distributions'
  178.      Specifies a list of distributions.  The head of the list is used as
  179.      default.  Each element of the list must be a string.  If
  180.      distributions file is available, its content is also used as
  181.      distributions.
  182.  
  183. `gnus-use-generic-from'
  184.      Non-`nil' means the local host name of your machine will not appear
  185.      in the `From:' field of article headers.  If the variable is a
  186.      string, it is used as your domain instead of the definition by the
  187.      variable `gnus-local-domain' or the environment variable
  188.      `DOMAINNAME'.
  189.  
  190. `gnus-use-generic-path'
  191.      Non-`nil' means the NNTP server name will not appear in the
  192.      `Path:' field of article headers.  If the variable is a string, it
  193.      is used in the `Path:' field as the NNTP server name instead of the
  194.      definition by the variable `gnus-nntp-server'.
  195.  
  196. `gnus-ignored-newsgroups'
  197.      Specify a regular expression used to ignore uninterested
  198.      newsgroups in the active file.  Any lines in the active file
  199.      matching this regular expression are removed from the newsgroup
  200.      list before anything else is done to it, thus making them
  201.      effectively invisible.  There is no way to know what newsgroups
  202.      there are if they are ignored.
  203.  
  204. `gnus-ignored-headers'
  205.      Specifies header fields which should be ignored in an article.
  206.  
  207. `gnus-required-headers'
  208.      Specifies header fields which should be included in an article you
  209.      will post.  RFC977 and RFC1036 require From, Date, Newsgroups,
  210.      Subject, Message-ID and Path fields.  Organization, Distribution
  211.      and Lines are optional.  If you want GNUS not to generate some
  212.      fields, remove them from the variable.  If news system is Cnews,
  213.      you may have to remove Date and to add Lines.
  214.  
  215. `gnus-startup-file'
  216.      Specifies a startup file of the Bnews system, usually `.newsrc'.
  217.      If there is a file named `.newsrc-SERVER', it is used instead when
  218.      talking to SERVER.  *Note Startup File::, for more information.
  219.  
  220. `gnus-signature-file'
  221.      Specifies a signature file of the Bnews system, usually
  222.      `.signature'.  The signature file is processed by the function
  223.      `gnus-inews-insert-signature' called from the hook
  224.      `gnus-prepare-article-hook' by default.  If there is a file named
  225.      `.signature-DISTRIBUTION', it is used instead when the
  226.      distribution of the article is DISTRIBUTION.  Set the variable to
  227.      `nil' to prevent appending the signature file automatically.
  228.  
  229. `gnus-use-cross-reference'
  230.      Specifies what to do with cross references (`Xref:' field).  If it
  231.      is `nil', cross references are ignored.  If it is `t', articles in
  232.      subscribed newsgroups are only marked as read.  Otherwise, if it
  233.      is not `nil' nor `t', articles in all newsgroups are marked as
  234.      read.
  235.  
  236. `gnus-use-followup-to'
  237.      Specifies what to do with `Followup-To:' field.  If it is `nil',
  238.      its value is ignored.  If it is non-`nil', its value is used as
  239.      followup newsgroups.  Especially, if it is `t' and you are going
  240.      to followup to an article in which `poster' is specified, your
  241.      confirmation is required.
  242.  
  243. `gnus-use-full-window'
  244.      Non-`nil' means to take up the entire screen of Emacs.  If the
  245.      variable is `nil', the windows used by GNUS will be restricted to
  246.      the bounds of the original window.  This is very useful if you
  247.      want to read articles while you do other work in other windows.
  248.  
  249. `gnus-window-configuration'
  250.      Specifies the configuration of the Group Mode window, the Summary
  251.      Mode window, and the Article Mode window.  The window
  252.      configuration can be specified for each action of GNUS (e.g.
  253.      selecting a newsgroup or selecting an article).  This is quite
  254.      useful if you are using a slow terminal since the update of Emacs
  255.      windows can be minimized by displaying these three windows same
  256.      time.
  257.  
  258.      The variable must be a list of `(ACTION (G S A))', where ACTION is
  259.      an action being performed, and G, S, and A are the relative
  260.      heights of the Group Mode window, the Summary Mode window, and the
  261.      Article Mode window, respectively.  ACTION is `summary',
  262.      `newsgroups', or `article'.
  263.  
  264.      The following example is the default window configuration:
  265.  
  266.           (setq gnus-window-configuration
  267.                 '((summary        (0 1 0))
  268.                   (newsgroups     (1 0 0))
  269.                   (article        (0 3 10))))
  270.  
  271.      The following is an example of yet another two windows mode.
  272.      Article buffer is always displayed on a screen.  This is useful on
  273.      a slow terminal.
  274.  
  275.           (setq gnus-window-configuration
  276.                 '((summary        (0 1 0))
  277.                   (newsgroups     (1 0 3))
  278.                   (article        (0 1 3))))
  279.  
  280.      The following is an example of three windows mode.  Three buffers
  281.      are always displayed on a screen.  This is also useful on a slow
  282.      terminal.
  283.  
  284.           (setq gnus-window-configuration
  285.                 '((summary        (1 4 0))
  286.                   (newsgroups     (1 1 3))
  287.                   (article        (1 1 3))))
  288.  
  289. `gnus-large-newsgroup'
  290.      Specifies the number of the articles which indicates a large
  291.      newsgroup.  If the number of articles in a newsgroup is greater
  292.      than this value, the number of articles to be selected is asked
  293.      for.  If the given value N is positive, the last N articles are
  294.      selected.  If N is negative, the first N articles are selected.
  295.      An empty string means to select all articles.
  296.  
  297. `gnus-author-copy'
  298.      Specifies a file name saving a copy of an article posted using
  299.      `FCC:' field.  The variable is initialized from the `AUTHORCOPY'
  300.      environment variable.  The specified file name is inserted in
  301.      `FCC:' field, so you have a chance to change the file name or
  302.      disable saving a copy by editing this field.
  303.  
  304.      The `FCC:' field is processed by the function `gnus-inews-do-fcc'
  305.      called from the hook `gnus-inews-article-hook' by default.  Unless
  306.      the first character of the field is ``|'', the article is saved to
  307.      the specified file using the function specified by the variable
  308.      `gnus-author-copy-saver'.  The default function `rmail-output'
  309.      saves in Unix mailbox format.  Instead, if the first character is
  310.      ``|'', the contents of the article is send to a program specified
  311.      by the rest of the value.  For example, articles can be saved in
  312.      an MH folder by the following:
  313.  
  314.           (setq gnus-author-copy
  315.                 "|/usr/local/lib/mh/rcvstore +Article")
  316.  
  317. `gnus-author-copy-saver'
  318.      Specifies a function to save an author copy to.  The function is
  319.      called with a file name to save a copy to.  The default function
  320.      `rmail-output' saves in Unix mailbox format.
  321.  
  322. `gnus-use-long-file-name'
  323.      Non-`nil' means that a newsgroup name is used as a default file
  324.      name to save articles to.  If it is `nil', the directory form of a
  325.      newsgroup name is used instead.  It is set to nil by default if the
  326.      variable `system-type' is either `usg-unix-v' or `xenix'.
  327.  
  328. `gnus-mail-save-name'
  329. `gnus-rmail-save-name'
  330. `gnus-folder-save-name'
  331. `gnus-file-save-name'
  332.      Specifies a function generating a file name to save articles to.
  333.      The function is called with NEWSGROUP, HEADERS, and optional
  334.      LAST-NAME.  NEWSGROUP is a string representing the current
  335.      newsgroup name.  HEADERS is a vector containing headers of the
  336.      current article.  Macros and functions accessing contents of the
  337.      HEADERS are defined as `nntp-header-FIELD' and
  338.      `gnus-header-FIELD', respectively.  The following functions are
  339.      provided as file name generators by default:
  340.  
  341.     `gnus-numeric-save-name'
  342.           Return a file name like `NEWS.GROUP/NUMBER' or
  343.           `NEWS/GROUP/NUMBER' according to the variable
  344.           `gnus-use-long-file-name'.
  345.  
  346.     `gnus-Numeric-save-name'
  347.           Return a file name like `NEWS.GROUP/NUMBER' or
  348.           `NEWS/GROUP/NUMBER' according to the variable
  349.           `gnus-use-long-file-name'.
  350.  
  351.     `gnus-plain-save-name'
  352.           Return a file name like `NEWS.GROUP' or `NEWS/GROUP/news'
  353.           according to the variable `gnus-use-long-file-name'.
  354.  
  355.     `gnus-Plain-save-name'
  356.           Return a file name like `NEWS.GROUP' or `NEWS/GROUP/news'
  357.           according to the variable `gnus-use-long-file-name'.
  358.  
  359.     `gnus-folder-save-name'
  360.           Return a folder name like `+NEWS.GROUP' or `+NEWS/GROUP'
  361.           according to the variable `gnus-use-long-file-name'.
  362.  
  363.     `gnus-Folder-save-name'
  364.           Return a folder name like `+NEWS.GROUP' or `+NEWS/GROUP'
  365.           according to the variable `gnus-use-long-file-name'.
  366.  
  367. `gnus-default-article-saver'
  368.      Specifies a function to save articles in your favorite format
  369.      using the command `gnus-summary-save-article'.  The function must
  370.      be interactively funcallable.  In other words, it must be an Emacs
  371.      command.  The functions currently provided are as follows:
  372.  
  373.     `gnus-summary-save-in-mail'
  374.           Save articles in Unix mailbox format.
  375.  
  376.     `gnus-summary-save-in-rmail'
  377.           Save articles in Rmail format.
  378.  
  379.     `gnus-summary-save-in-folder'
  380.           Save articles in an MH folder.
  381.  
  382.     `gnus-summary-save-in-file'
  383.           Save articles in article format.
  384.  
  385. `gnus-article-save-directory'
  386.      Specifies a directory name to save articles in using the commands
  387.      `gnus-summary-save-in-mail', `gnus-summary-save-in-rmail', and
  388.      `gnus-summary-save-in-file'.  The variable is initialized from the
  389.      `SAVEDIR' environment variable.  Its default value is `~/News'.
  390.  
  391. `gnus-kill-files-directory'
  392.      Specifies a directory name to save KILL files in using the commands
  393.      `gnus-edit-global-kill', and `gnus-edit-local-kill'.  The variable
  394.      is initialized from the `SAVEDIR' environment variable.  Its
  395.      default value is `~/News'.
  396.  
  397. `gnus-kill-file-name'
  398.      Specifies a file name of kill file (*note Kill File::.).  Its
  399.      default value is `KILL'.
  400.  
  401. `gnus-novice-user'
  402.      Non-`nil' means you are a novice to USENET.  If it is non-`nil',
  403.      verbose messages may be displayed or your confirmations may be
  404.      required.
  405.  
  406. `gnus-interactive-catchup'
  407.      Non-`nil' means that your confirmation is required when catching up
  408.      a newsgroup in Group mode.
  409.  
  410. `gnus-interactive-post'
  411.      Non-`nil' means that newsgroup, subject, and distribution are asked
  412.      for interactively when composing a new article.
  413.  
  414. `gnus-interactive-exit'
  415.      Non-`nil' means that your confirmation is required when exiting
  416.      GNUS.
  417.  
  418. `gnus-user-login-name'
  419.      Specifies your login name.  The login name is got from the
  420.      `LOGNAME' and `USER' environment variables and the function
  421.      `user-login-name', if undefined.
  422.  
  423. `gnus-user-full-name'
  424.      Specifies your full name.  The full name is got from the `NAME'
  425.      environment variable and the function `user-full-name', if
  426.      undefined.
  427.  
  428. `gnus-show-all-headers'
  429.      Non-`nil' means all headers of an article are shown.
  430.  
  431. `gnus-save-all-headers'
  432.      Non-`nil' means all headers of an article are saved in a file.
  433.  
  434. `gnus-show-mime'
  435.      Non-`nil' means process a MIME message.  The message is processed
  436.      by the function specified by the variable `gnus-show-mime-method'.
  437.  
  438. `gnus-show-threads'
  439.      Non-`nil' means conversation threads are displayed in a tree
  440.      structured form according to references in Summary Mode.
  441.  
  442. `gnus-thread-hide-subject'
  443.      Non-`nil' means subjects of lower level threads are hidden if the
  444.      thread-based reading is turned on.
  445.  
  446. `gnus-thread-hide-subtree'
  447.      Non-`nil' means thread subtrees are hidden initially.  If thread
  448.      subtrees are hidden, you have to run the command
  449.      `gnus-summary-show-thread' by hand or by using
  450.      `gnus-select-article-hook' to show them.
  451.  
  452. `gnus-thread-hide-killed'
  453.      Non-`nil' means killed thread subtrees are hidden automatically.
  454.  
  455. `gnus-thread-ignore-subject'
  456.      Non-`nil' means subject differences are ignored but only references
  457.      are taken into account in constructing threads trees.  If it is
  458.      non-`nil' and thread subtrees are hidden, some commands that work
  459.      with subjects may not work properly.
  460.  
  461. `gnus-thread-indent-level'
  462.      Specifies indentation level of thread subtrees.
  463.  
  464. `gnus-auto-extend-newsgroup'
  465.      Non-`nil' means visible articles are automatically extended to
  466.      forward and backward if possible when the commands `N' and `P'
  467.      (`gnus-summary-next-article' and `gnus-summary-prev-article') are
  468.      executed in Summary Mode.
  469.  
  470. `gnus-auto-select-first'
  471.      Non-`nil' means the first unread article is selected automatically
  472.      when a newsgroup is selected.  If you'd like to prevent automatic
  473.      selection of the first unread article in some newsgroups, set the
  474.      variable to `nil' in the hook `gnus-select-group-hook' or
  475.      `gnus-apply-kill-hook' (*note Hooks::.).
  476.  
  477. `gnus-auto-select-next'
  478.      Non-`nil' means the next newsgroup is selected automatically at the
  479.      end of the newsgroup.  If the value is `t' and the next newsgroup
  480.      is empty (no unread articles), GNUS will exit Summary Mode and go
  481.      back to Group Mode.  If the value is neither `nil' nor `t', GNUS
  482.      won't exit Summary Mode but will select the following unread
  483.      newsgroup.  If the value is `quietly', the next unread newsgroup
  484.      will be selected without any confirmations.
  485.  
  486. `gnus-auto-select-same'
  487.      Non-`nil' means an article with the same subject as the current
  488.      article is selected automatically like `rn -S'.
  489.  
  490. `gnus-auto-center-summary'
  491.      Non-`nil' means that the cursor is always kept centered in the
  492.      Summary Mode window.
  493.  
  494. `gnus-auto-mail-to-author'
  495.      Non-`nil' means that inserts `To:' field which is filled with the
  496.      author of the article when followuping.  Mail is sent using the
  497.      function specified by the variable `gnus-mail-send-method'.
  498.  
  499. `gnus-break-pages'
  500.      Non-`nil' means an article is broken into pages at page delimiters.
  501.      The page delimiter is specified by the variable
  502.      `gnus-page-delimiter'.  This may not work with some versions of GNU
  503.      Emacs earlier than version 18.50.
  504.  
  505. `gnus-page-delimiter'
  506.      Specifies regexp describing line-beginnings that separate pages of
  507.      articles.  Its default value is `"^\^L"'.
  508.  
  509. `gnus-digest-show-summary'
  510.      Non-`nil' means that a summary of digest messages is shown when
  511.      reading a digest article using the command
  512.      `gnus-summary-rmail-digest'.
  513.  
  514. `gnus-digest-separator'
  515.      Specifies a regexp which separates messages in a digest article.
  516.      Changes to this variable only affect the commands
  517.      `gnus-summary-next-digest' and `gnus-summary-prev-digest', but not
  518.      the command `gnus-summary-rmail-digest'.
  519.  
  520. `gnus-optional-headers'
  521.      Specifies a function which generates an optional string displayed
  522.      in the Summary buffer.  The function is called with an article
  523.      HEADERS, and must return a string excluding `[' and `]'.  HEADERS
  524.      is a vector containing headers of the current article.  Macros and
  525.      functions accessing contents of the HEADERS are defined as
  526.      `nntp-header-FIELD' and `gnus-header-FIELD', respectively.
  527.  
  528.      GNUS provides two functions as follows:
  529.  
  530.     `gnus-optional-lines-and-from'
  531.           Return a string like "NNN:AUTHOR", where NNN is the number of
  532.           lines in an article and AUTHOR is the name of the author.
  533.  
  534.     `gnus-optional-lines'
  535.           Return a string like "NNN", where NNN is the number of lines
  536.           in an article.
  537.  
  538.      *Note Hooks::, to change optional headers according to selected
  539.      newsgroups.
  540.  
  541. `gnus-show-mime-method'
  542.      Specifies a function to process a MIME message in current buffer.
  543.      The function `metamail-buffer' which process the buffer through
  544.      `metamail' is called by default.
  545.  
  546. `gnus-mail-reply-method'
  547.      Specifies a function to begin composing reply mail messages.  The
  548.      function will be called with an optional argument which means yank
  549.      original article automatically if non-`nil'.  To use Mail Mode, set
  550.      the variable to `gnus-mail-reply-using-mail'.  To use mh-e letter
  551.      Mode, set the variable to `gnus-mail-reply-using-mhe'.
  552.  
  553. `gnus-mail-forward-method'
  554.      Specifies a function to forward the current message to another
  555.      user.  To use Mail Mode, set the variable to
  556.      `gnus-mail-forward-using-mail'.  To use mh-e letter Mode, set the
  557.      variable to `gnus-mail-forward-using-mhe'.
  558.  
  559. `gnus-mail-other-window-method'
  560.      Specifies a function to begin composing mail messages in other
  561.      window.  To use Mail Mode, set the variable to
  562.      `gnus-mail-other-window-using-mail'.  To use mh-e letter Mode, set
  563.      the variable to `gnus-mail-other-window-using-mhe'.
  564.  
  565. `gnus-mail-send-method'
  566.      Specifies a function to mail a message too which is being posted
  567.      as an article.  The message must have `To:' or `Cc:' field.  The
  568.      value of the variable `send-mail-function' is the default function
  569.      which uses sendmail mail program.
  570.  
  571. `gnus-subscribe-newsgroup-method'
  572.      Specifies a function called with a newsgroup name when a new
  573.      newsgroup is found.  GNUS provides the following three functions:
  574.  
  575.     `gnus-subscribe-randomly'
  576.           Inserts a new newsgroup at the beginning of newsgroups.  Thus,
  577.           newsgroups are in random order.
  578.  
  579.     `gnus-subscribe-alphabetically'
  580.           Inserts a new newsgroup in strict alphabetic order.
  581.  
  582.     `gnus-subscribe-hierarchically'
  583.           Inserts a new newsgroup in hierarchical newsgroup order.
  584.  
  585.     `gnus-subscribe-interactively'
  586.           Asks for your decision about a new newsgroup subscription,
  587.           and inserts it in hierarchical newsgroup order if it is
  588.           subscribed.  Unless, it is killed.
  589.  
  590.      The following two definitions illustrate how to write your favorite
  591.      subscribing method.  The following definition (is the definition
  592.      of the function gnus-subscribe-randomly) adds new newsgroup at the
  593.      beginning of newsgroups:
  594.  
  595.           (setq gnus-subscribe-newsgroup-method
  596.                 '(lambda (newsgroup)
  597.                    (gnus-subscribe-newsgroup newsgroup
  598.                                              (car (car gnus-newsrc-assoc)))))
  599.  
  600.      Instead, if you want to add new newsgroup at the end of
  601.      newsgroups, use the following:
  602.  
  603.           (setq gnus-subscribe-newsgroup-method
  604.                 '(lambda (newsgroup)
  605.                    (gnus-subscribe-newsgroup newsgroup nil)))
  606.  
  607.      If you want to prevent adding new newsgroups automatically and
  608.      want to subscribe them later using the command `U'
  609.      (`gnus-group-unsubscribe-group') in the Newsgroup buffer, use the
  610.      following:
  611.  
  612.           (setq gnus-subscribe-newsgroup-method
  613.                 '(lambda (newsgroup) nil))        ;Do nothing.
  614.  
  615.      The following final example must be the most useful for you who
  616.      want not to add new newsgroups automatically.  This definition
  617.      subscribes a new newsgroup first, and then kills it.  The killed
  618.      newsgroups can be added to the subscription list interactively
  619.      using Browse-Killed Mode (*note Maintaining Subscriptions::.).
  620.  
  621.           (setq gnus-subscribe-newsgroup-method
  622.                 '(lambda (newsgroup)
  623.                    (gnus-subscribe-newsgroup newsgroup)
  624.                    (gnus-kill-newsgroup newsgroup)))
  625.  
  626. 
  627. File: gnus,  Node: NNTP Variables,  Next: Spool Variables,  Prev: Variables,  Up: Customization
  628.  
  629. NNTP Specific Variables
  630. =======================
  631.  
  632. `nntp-buggy-select'
  633.      Non-`nil' means the select routine of your operating system is
  634.      buggy.  GNUS may hang up while waiting for NNTP server responses.
  635.      The problem may be solved by setting the variable to `t'.
  636.  
  637. `nntp-maximum-request'
  638.      Specifies the maximum number of requests to be sent to the NNTP
  639.      server at one time.  GNUS may hang up while retrieving headers of
  640.      a large newsgroup because sending many requests to the NNTP server
  641.      without reading replies to them causes deadlock.  In this case,
  642.      set the variable to a lower number.
  643.  
  644. `nntp-large-newsgroup'
  645.      Specifies the number of articles which indicates a large
  646.      newsgroup.  If the number of articles is greater than the value,
  647.      verbose messages will be shown to indicate the current status.
  648.  
  649. `nntp-debug-read'
  650.      Non-`nil' means display dots "..." every 10000 bytes of a message
  651.      being received.  If it is a number, dots are displayed per the
  652.      number.  Set the variable to `nil' if you are annoyed about
  653.      verbose messages while reading news from slow terminal.
  654.  
  655. `tcp-program-name'
  656.      This variable specifies the name of the program which establishes
  657.      communications between Emacs and the NNTP server.  Its default
  658.      value is `"tcp"'.  (the program `tcp' comes with GNU Emacs.)  This
  659.      variable is relevant only if you load the library `tcp.el', which
  660.      you should do only if your Emacs does not have the function
  661.      `open-network-stream'.
  662.  
  663. 
  664. File: gnus,  Node: Spool Variables,  Next: Directory Variables,  Prev: NNTP Variables,  Up: Customization
  665.  
  666. Local News Spool Specific Variables
  667. ===================================
  668.  
  669. `nnspool-inews-program'
  670.      Specifies a program to post news.  This is default to the variable
  671.      `news-inews-program' which is default to `inews'.
  672.  
  673. `nnspool-inews-switches'
  674.      Specifies switches for the function `nnspool-request-post' to pass
  675.      to the command `inews' for posting news.  Its default value is
  676.      `("-h")'.
  677.  
  678. `nnspool-spool-directory'
  679.      Specifies a directory of a local news spool.  This is default to
  680.      the variable `news-path' which is default to `/usr/spool/news'.
  681.  
  682. `nnspool-active-file'
  683.      Specifies an active file of the system for a local news spool.  Its
  684.      default value is `/usr/lib/news/active'.
  685.  
  686. `nnspool-newsgroups-file'
  687.      Specifies an newsgroups file of the system for a local news spool.
  688.      Its default value is `/usr/lib/news/newsgroups'.
  689.  
  690. `nnspool-distributions-file'
  691.      Specifies an distributions file of the system for a local news
  692.      spool.  Its default value is `/usr/lib/news/distributions'.
  693.  
  694. `nnspool-history-file'
  695.      Specifies a history file of the system for a local news spool.  Its
  696.      default value is `/usr/lib/news/history'.  Some machines may not
  697.      have this file.  In this case, commands to refer to articles by
  698.      Message-IDs will not work at all (*note Referencing Articles::.).
  699.  
  700. 
  701. File: gnus,  Node: Directory Variables,  Next: Hooks,  Prev: Spool Variables,  Up: Customization
  702.  
  703. Private Directory Specific Variables
  704. ====================================
  705.  
  706. `mhspool-list-folders-method'
  707.      Specifies a function to fill the current buffer with file and
  708.      directory names for a given directory name.  The output format
  709.      must be the same as that of the Unix command `ls -R1'.  Two
  710.      functions `mhspool-list-folders-using-ls' and
  711.      `mhspool-list-folders-using-sh' are provided now.
  712.  
  713. `mhspool-list-directory-switches'
  714.      Specifies switches for the function `mhspool-list-folders-using-ls'
  715.      to pass to the command `ls' for getting file listings in a private
  716.      directory.  There should be one entry for each line.  Its default
  717.      value is `("-R")'.  Some machines may require the `("-R1")' switch.
  718.  
  719. 
  720. File: gnus,  Node: Hooks,  Prev: Directory Variables,  Up: Customization
  721.  
  722. Function Hooks
  723. ==============
  724.  
  725. `gnus-group-mode-hook'
  726.      Called with no arguments after initializing Group Mode if its
  727.      value is non-`nil'.  This hook is intended to customize Group Mode
  728.      only once.  It is possible to define or change the NNTP server as
  729.      you like in this hook since the hook is called before GNUS is
  730.      connected to an NNTP server.
  731.  
  732. `gnus-summary-mode-hook'
  733.      Called with no arguments after initializing Summary Mode if its
  734.      value is non-`nil'.  This hook is intended to customize Summary
  735.      Mode only once.  All sorts of searches in Summary Mode normally
  736.      ignore the case of the text they are searching through.  If you do
  737.      not want to ignore the case, set the variable `case-fold-search'
  738.      to `nil' in this hook.
  739.  
  740.      The following example shows how to assign the functions
  741.      `gnus-summary-next-group' and `gnus-summary-prev-group' to keys in
  742.      Summary Mode.
  743.  
  744.           (setq gnus-summary-mode-hook
  745.                 '(lambda ()
  746.                    (local-set-key "\C-cn" 'gnus-summary-next-group)
  747.                    (local-set-key "\C-cp" 'gnus-summary-prev-group)))
  748.  
  749. `gnus-article-mode-hook'
  750.      Called with no arguments after initializing Article Mode if its
  751.      value is non-`nil'.  This hook is intended to customize Article
  752.      Mode only once.
  753.  
  754. `gnus-kill-file-mode-hook'
  755.      Called with no arguments after initializing Kill-File Mode if its
  756.      value is non-`nil'.
  757.  
  758. `gnus-browse-killed-mode-hook'
  759.      Called with no arguments after initializing Browse-Killed Mode if
  760.      its value is non-`nil'.
  761.  
  762. `gnus-open-server-hook'
  763.      Called with no arguments just before opening a connection to NNTP
  764.      server if its value is non-`nil'.
  765.  
  766. `gnus-startup-hook'
  767.      Called with no arguments after an NNTP server is successfully
  768.      connected to if its value is non-`nil'.  It is possible to change
  769.      the behavior of GNUS according to the server.
  770.  
  771. `gnus-group-prepare-hook'
  772.      Called with no arguments after a list of newsgroups is prepared in
  773.      the Newsgroup buffer.  This hook is intended to modify the buffer.
  774.  
  775. `gnus-summary-prepare-hook'
  776.      Called with no arguments after list of subjects is prepared in the
  777.      Summary buffer.  This hook is intended to modify the buffer.
  778.  
  779. `gnus-article-prepare-hook'
  780.      Called with no arguments after an article is prepared in the
  781.      Article buffer.  This hook is intended to modify the buffer.  For
  782.      example, kanji code conversion or un-ROT13/47-ing can be done in
  783.      this hook.
  784.  
  785. `gnus-select-group-hook'
  786.      Called with no arguments when a newsgroup is selected.  This hook
  787.      is intended to change the behavior of GNUS according to the
  788.      selected newsgroup.
  789.  
  790.      The following is an example of sorting the headers listed in the
  791.      Summary buffer by date and then by subject.  Preceding `Re:' of
  792.      subjects is ignored while comparing subjects.
  793.  
  794.           (setq gnus-select-group-hook
  795.                 '(lambda ()
  796.                    ;; First of all, sort by date.
  797.                    (gnus-keysort-headers
  798.                     (function string-lessp)
  799.                     (function
  800.                      (lambda (a)
  801.                        (gnus-sortable-date (gnus-header-date a)))))
  802.                    ;; Then sort by subject ignoring `Re:'.
  803.                    (gnus-keysort-headers
  804.                     (function string-lessp)
  805.                     (function
  806.                      (lambda (a)
  807.                        (if case-fold-search
  808.                            (downcase (gnus-simplify-subject (gnus-header-subject a) t))
  809.                          (gnus-simplify-subject (gnus-header-subject a) t)))))
  810.                   ))
  811.  
  812.      The following is an example of simplifying subjects like the
  813.      `gnus-summary-next-same-subject' command does:
  814.  
  815.           (setq gnus-select-group-hook
  816.                 '(lambda ()
  817.                    (mapcar (function
  818.                             (lambda (header)
  819.                               (nntp-set-header-subject
  820.                                header
  821.                                (gnus-simplify-subject
  822.                                 (gnus-header-subject header) 're-only))))
  823.                            gnus-newsgroup-headers)))
  824.  
  825.      In some newsgroups, author names are meaningless.  It is possible
  826.      to prevent listing author names in the Summary buffer as follows:
  827.  
  828.           (setq gnus-select-group-hook
  829.                 '(lambda ()
  830.                    (cond ((string-equal "comp.sources.unix"
  831.                                         gnus-newsgroup-name)
  832.                           (setq gnus-optional-headers
  833.                                 (function gnus-optional-lines)))
  834.                          (t
  835.                           (setq gnus-optional-headers
  836.                                 (function
  837.                                    gnus-optional-lines-and-from))))))
  838.  
  839. `gnus-select-article-hook'
  840.      Called with no arguments when an article is selected if its value
  841.      is non-`nil'.
  842.  
  843.      The default hook definition shows conversation thread subtrees of
  844.      the selected article automatically as follows:
  845.  
  846.           (setq gnus-select-article-hook
  847.                 '(lambda ()
  848.                    (gnus-summary-show-thread)))
  849.  
  850.      It is possible to run Rmail on a digest article automatically as
  851.      follows:
  852.  
  853.           (setq gnus-select-article-hook
  854.                 '(lambda ()
  855.                    (gnus-summary-show-thread)
  856.                    (cond ((string-equal "comp.sys.sun"
  857.                                         gnus-newsgroup-name)
  858.                           (gnus-summary-rmail-digest))
  859.                          ((and (string-equal "comp.text"
  860.                                              gnus-newsgroup-name)
  861.                                (string-match "^TeXhax Digest"
  862.                                              (gnus-header-subject
  863.                                                 gnus-current-headers)))
  864.                           (gnus-summary-rmail-digest)
  865.                           ))))
  866.  
  867. `gnus-select-digest-hook'
  868.      Called with no arguments when reading digest messages using Rmail
  869.      if its value is non-`nil'.  This hook is intended to modify an
  870.      article so that Rmail can work with it.  *Note Digest Articles::,
  871.      for more information on digest articles.
  872.  
  873.      The following example is the default hook definition to modify
  874.      incomplete digest articles:
  875.  
  876.           (setq gnus-select-digest-hook
  877.                 '(lambda ()
  878.                    ;; Reply-To: is required by
  879.                    ;; `undigestify-rmail-message'.
  880.                    (or (mail-position-on-field "Reply-to" t)
  881.                        (progn
  882.                          (mail-position-on-field "Reply-to")
  883.                          (insert (gnus-fetch-field "From"))))))
  884.  
  885. `gnus-rmail-digest-hook'
  886.      Called with no arguments when reading digest messages using Rmail
  887.      if its value is non-`nil'.  This hook is intended to customize
  888.      Rmail Mode for reading digest articles.
  889.  
  890. `gnus-apply-kill-hook'
  891.      Called with no arguments when a newsgroup is selected and the
  892.      Summary buffer is prepared if its value is non-`nil'.  This hook
  893.      is intended to apply kill files to the selected newsgroup.  It is
  894.      set to the function `gnus-apply-kill-file' by default.
  895.  
  896.      Since a general kill file is too heavy to use only for a few
  897.      newsgroups, a lighter hook function is recommended.  For example,
  898.      if you'd like to apply kills to articles which contain the string
  899.      `rmgroup' in subject in newsgroup `control', you can use the
  900.      following hook:
  901.  
  902.           (setq gnus-apply-kill-hook
  903.                 '(lambda ()
  904.                    (cond ((string-match "control" gnus-newsgroup-name)
  905.                           (gnus-kill "Subject" "rmgroup")
  906.                           (gnus-expunge "X")))))
  907.  
  908.      *Note Kill File::, for more information on kill files.
  909.  
  910. `gnus-mark-article-hook'
  911.      Called with no arguments when an article is selected for the first
  912.      time if its value is non-`nil'.  The hook is intended to mark an
  913.      article as read (or saved) automatically when it is selected.
  914.  
  915.      The following example is the default definition of the hook:
  916.  
  917.           (setq gnus-mark-article-hook
  918.                 '(lambda ()
  919.                    ;; Mark the selected article as read.
  920.                    (or (memq gnus-current-article gnus-newsgroup-marked)
  921.                        (gnus-summary-mark-as-read gnus-current-article))
  922.                    ;; Put "+" on the current subject.
  923.                    (gnus-summary-set-current-mark "+")
  924.                    ))
  925.  
  926.      It is possible to mark as saved (`-') instead when an article is
  927.      selected as follows:
  928.  
  929.           (setq gnus-mark-article-hook
  930.                 '(lambda ()
  931.                    ;; Mark the selected article as saved.
  932.                    (gnus-summary-mark-as-unread gnus-current-article)
  933.                    ;; Put "+" on the current subject.
  934.                    (gnus-summary-set-current-mark "+")
  935.                    ))
  936.  
  937. `gnus-prepare-article-hook'
  938.      Called with no arguments after preparing message body, but before
  939.      preparing header fields which is automatically generated if its
  940.      value is non-`nil'.  Text changes made by this hook does not
  941.      affect on the editing text.  The default hook inserts a signature
  942.      file by calling the function `gnus-inews-insert-signature'.
  943.  
  944. `gnus-inews-article-hook'
  945.      Called with no arguments before posting an article if its value is
  946.      non-`nil'.  This hook is called just before sending an article to
  947.      the NNTP server or calling the `inews' program.  Text changes made
  948.      by this hook does not affect on the editing text.  It is no
  949.      recommended to alter the number of lines of the article since
  950.      `Lines:' field may be already there.  The default hook does FCC
  951.      (save an article to the specified file) by calling the function
  952.      `gnus-inews-do-fcc'.
  953.  
  954. `gnus-exit-group-hook'
  955.      Called with no arguments when exiting the current newsgroup if its
  956.      value is non-`nil'.  If your machine is so slow that exiting from
  957.      Summary Mode takes a long time, you can inhibit marking articles
  958.      as read by using cross-reference information in the `Xref:' field
  959.      by setting the variable `gnus-newsgroup-headers' to `nil' in this
  960.      hook.
  961.  
  962. `gnus-exit-gnus-hook'
  963.      Called with no arguments when exiting GNUS if its value is
  964.      non-`nil'.  If you want to clear out Emacs buffers which were
  965.      created by GNUS and remain afterwards, you can use this hook.
  966.  
  967.      The following example shows how to kill a buffer which was used for
  968.      posting news.
  969.  
  970.           (setq gnus-exit-gnus-hook
  971.                 '(lambda ()
  972.                    ;; Kill a buffer used for posting news.
  973.                    (and (get-buffer "*post-news*")
  974.                         (kill-buffer "*post-news*"))))
  975.  
  976. `gnus-suspend-gnus-hook'
  977.      Called with no arguments when suspending GNUS if its value is
  978.      non-`nil'.  The purpose is the same as the hook
  979.      `gnus-exit-gnus-hook'.
  980.  
  981. `gnus-save-newsrc-hook'
  982.      Called with no arguments before saving the startup file `.newsrc'
  983.      if its value is non-`nil'.  This hook is intended to change the way
  984.      of backing up the startup file.
  985.  
  986. 
  987. File: gnus,  Node: Troubleshooting,  Next: Customization,  Prev: Kill File,  Up: Top
  988.  
  989. Troubleshooting GNUS
  990. ********************
  991.  
  992.    Emacs may hang up while waiting for NNTP server responses.  This may
  993. be caused by a buggy select routine of your operating system.  If so,
  994. the problem may be solved by loading the source code for the library
  995. `nntp.el' instead of running the byte-compiled version.  If you still
  996. have problems with it, set the variable `nntp-buggy-select' to `t'.
  997.  
  998.    Emacs may hang up while retrieving headers of a large newsgroup.  The
  999. reason is that too many requests have been sent to the NNTP server
  1000. without reading replies to them.  This causes a deadlock of Emacs and
  1001. the server.  In this case, the number of requests sent to the server at
  1002. one time must be reduced.  Set the variable `nntp-maximum-request' to a
  1003. lower value than the default.  The optimal value depends on your
  1004. computing environment.
  1005.  
  1006. 
  1007. File: gnus,  Node: Reporting Bugs,  Next: Index,  Prev: Customization,  Up: Top
  1008.  
  1009. Reporting Bugs
  1010. **************
  1011.  
  1012. Mailing Lists and USENET Newsgroup
  1013. ==================================
  1014.  
  1015.    There are two mailing lists and one USENET newsgroup for discussing
  1016. GNUS related topics.  These are intended for exchanging useful
  1017. information about GNUS, such as bug reports, useful hooks, and
  1018. extensions of GNUS.  If you have any questions or problems, feel free to
  1019. ask about them.  Suggestions are also welcome.
  1020.  
  1021. `gnu.emacs.gnus'
  1022.      This is a USENET newsgroup under the gnu.all hierarchy which is
  1023.      concerned with the GNU Project of the Free Software Foundation.
  1024.  
  1025. `info-gnus-english@tut.cis.ohio-state.edu'
  1026.      This is an Internet mailing list which is gated bi-directionally
  1027.      with the gnu.emacs.gnus newsgroup.  English is the official
  1028.      language of the list.  Please send subscription requests to:
  1029.  
  1030.           info-gnus-english-request@tut.cis.ohio-state.edu
  1031.  
  1032. `info-gnus@flab.Fujitsu.CO.JP'
  1033.      This is a JUNET mailing list.  Messages of info-gnus-english and
  1034.      gnu.emacs.gnus are forwarded to this list.  English and Japanese
  1035.      are the official languages of the list.  Please send subscription
  1036.      requests to:
  1037.  
  1038.           info-gnus-request@flab.Fujitsu.CO.JP
  1039.  
  1040.    The major difference between info-gnus-english/gnu.emacs.gnus and
  1041. info-gnus is the official language.  There is no need to subscribe to
  1042. info-gnus if you cannot read messages written in Japanese since most
  1043. discussions and important announcements will be sent to
  1044. info-gnus-english.
  1045.  
  1046. How to Report a Bug
  1047. ===================
  1048.  
  1049.    If you find a bug, it is important to report it and to report it in a
  1050. way which is useful.  If it is a bug of a lisp program, what is the most
  1051. useful is an exact backtrace information of the lisp program together
  1052. with the version number of GNUS that you are using.
  1053.  
  1054.    To make the backtrace information, you must set the Emacs variable
  1055. `debug-on-error' to `t' before the error happens.  A backtrace obtained
  1056. from a byte-compiled lisp program is not usually understandable.  To
  1057. make a human readable backtrace, load the source program which is not
  1058. byte-compiled yet and then produce the error.
  1059.  
  1060.    *note Reporting Bugs: (emacs)Bugs, for more information.
  1061.  
  1062.